package com.css.fxfzysx.modules.cztDataMange.service;

import com.css.fxfzysx.base.response.RestResponse;
import com.css.fxfzysx.modules.cztDataMange.entity.CbvInfoEntity;
import com.css.fxfzysx.modules.cztDataMange.entity.CpvAnalysisEntity;
import com.css.fxfzysx.modules.cztDataMange.entity.CpvInfoEntity;
import com.css.fxfzysx.modules.cztDataMange.entity.CpvResultEntity;
import com.css.fxfzysx.modules.cztDataMange.param.BuildingVulnerabilityParam;
import com.css.fxfzysx.modules.cztDataMange.param.ConfirmMoveIdParam;
import com.css.fxfzysx.modules.cztDataMange.vo.BacInformationVo;
import com.css.fxfzysx.modules.cztDataMange.vo.CbvInfoVo;
import com.css.fxfzysx.modules.cztDataMange.vo.QueryBacInformationVo;
import com.css.fxfzysx.modules.cztDataMange.vo.QueryBasicVo;
import com.css.fxfzysx.modules.vabStructure.param.CustomVulnerabilityParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;

public interface BacInformationService {
    RestResponse uploadBvInformation(MultipartFile file);

    RestResponse uploadSingleBvInformation(MultipartFile file);

    RestResponse uploadPobStructure(MultipartFile file);

    //RestResponse uploadRcpInformation(MultipartFile file);

    RestResponse  uploadRcpInformationNew(MultipartFile file) throws Exception;

    RestResponse uploadHbpInformation(MultipartFile file);

    RestResponse uploadPsaData(MultipartFile file);

    RestResponse saveCpvInfoEntity(CpvInfoEntity entity);

    RestResponse saveCpvAnalysis(CpvAnalysisEntity entity);

    RestResponse saveCpvResultEntity(CpvResultEntity entity);

    RestResponse updateCpvInfoEntity(CpvInfoEntity entity);

    RestResponse updateBacInformation(BacInformationVo bacInformationVo);

    RestResponse deleteBacInformation(String ids,String type,String province);

    RestResponse queryBacInformationById(String id, String type);

    RestResponse queryBacInformation(QueryBacInformationVo queryBacInformationVo, HttpServletRequest request);

    CpvInfoEntity getCpvInfoEntityById(String id);

    List<CpvAnalysisEntity> getCpvAnalysisEntityByCpviId(String cpviId);

    List<CpvResultEntity> getCpvResultEntityByCpviId(String cpviId);

    RestResponse saveBvInformation(CbvInfoVo cbvInfo);

    RestResponse uploadSingleBvInformationCurve(MultipartFile file);

    RestResponse uploadBvInformationCurve(MultipartFile file);

    RestResponse saveBvInformationCurve(CbvInfoVo cbvInfo);

    RestResponse moveBasicLibrary(List<CustomVulnerabilityParam> paramList);

    RestResponse getBacInfoByNumber(String id,String province);

    void exportExcel(HttpServletResponse response, String id, String type);

    RestResponse updateBuildingArea(BuildingVulnerabilityParam param);

    boolean confirmMoveIn(ConfirmMoveIdParam param);

}
